package com.augurit.common.syslog.tool;

import java.util.Date;
import java.util.List;

import com.augurit.common.syslog.web.form.SysPropAuditLogForm;

public class LogUtils {

	/**
	 * 计算字段审计日志列表中修改人所占的行高，便于在页面上分组显示
	 * @param list
	 */
	public static void calcUpdatorRowSpan(List<SysPropAuditLogForm> list){
		
		String compareUpdator = "";	//记录当前正在累计的修改人
		int compareIndex = 0;	//记录当前正在累计的form对象在list中的位置
		
		for(int i=0; i<list.size(); i++){
			
			SysPropAuditLogForm form = list.get(i);	//获取当前form对象
			
			if(!form.getUpdator().equals(compareUpdator)){
				
				compareUpdator = form.getUpdator();	//记录下一个要累计的修改人
				compareIndex = i;	//记录下一个要累计的form对象在list中的位置
			}
			
			SysPropAuditLogForm compareForm = list.get(compareIndex);
			compareForm.setUpdatorRowSpan(compareForm.getUpdatorRowSpan() + 1);	
		}
	}
	
	/**
	 * 计算字段审计日志列表中修改属性所占的行高，便于在页面上分组显示
	 * @param list
	 */
	public static void calcPropertyCommentRowSpan(List<SysPropAuditLogForm> list){
		
		String comparePropertyComment = "";	//记录当前正在累计的修改属性
		int compareIndex = 0;	//记录当前正在累计的form对象在list中的位置
		
		for(int i=0; i<list.size(); i++){
			
			SysPropAuditLogForm form = list.get(i);	//获取当前form对象
			
			if(!form.getPropertyComment().equals(comparePropertyComment)){
				
				comparePropertyComment = form.getPropertyComment();	//记录下一个要累计的修改属性
				compareIndex = i; //记录下一个要累计的form对象在list中的位置
			}
			
			SysPropAuditLogForm compareForm = list.get(compareIndex);
			compareForm.setPropertyCommentRowSpan(compareForm.getPropertyCommentRowSpan() + 1);	
		}
	}
	
	/**
	 * 计算字段审计日志列表中修改时间所占的行高，便于在页面上分组显示
	 * @param list
	 */
	public static void calcUpdateTimeRowSpan(List<SysPropAuditLogForm> list){
		
		Date compareUpdateTime = new Date();	//记录当前正在累计的修改人
		int compareIndex = 0;	//记录当前正在累计的form对象在list中的位置
		
		for(int i=0; i<list.size(); i++){
			
			SysPropAuditLogForm form = list.get(i);	//获取当前form对象
			
			if(compareUpdateTime.compareTo(form.getUpdateTime()) != 0){
				
				compareUpdateTime = form.getUpdateTime();	//记录下一个要累计的修改人
				compareIndex = i;	//记录下一个要累计的form对象在list中的位置
			}
			
			SysPropAuditLogForm compareForm = list.get(compareIndex);
			compareForm.setUpdateTimeRowSpan(compareForm.getUpdateTimeRowSpan() + 1);	
		}
	}
}
